package com.xcity.game.employee.config;

import com.xcity.game.employee.config.impl.EmployeeCommonConfigure;
import com.xcity.game.employee.config.impl.EmployeeBlessConfigure;
import com.xcity.game.employee.config.impl.EmployeeQualityLevelUpConfigure;
import com.xcity.game.employee.config.impl.EmployeeRebornConfigure;
import com.xcity.game.employee.config.impl.EmployeeRecruitConfigure;
import com.xcity.game.employee.config.impl.EmployeeStarLevelUpConfigure;
import com.xcity.game.employee.config.impl.EmployeeTemplateConfigure;

public class EmployeeServiceConfigure implements Configure {
	
	protected EmployeeCommonConfigure commonConfigure;
	protected EmployeeTemplateConfigure templateConfigure;
	protected EmployeeRecruitConfigure recruitConfigure;
//	protected EmployeeSkillConfigure skillConfigure;
	
	protected EmployeeQualityLevelUpConfigure qualityLevelUpConfigure; // 升品配置
	protected EmployeeStarLevelUpConfigure starLevelUpConfigure; // 升星配置	
	protected EmployeeRebornConfigure rebornConfigure;
	protected EmployeeBlessConfigure blessConfigure;
	
	public EmployeeServiceConfigure() {
		commonConfigure = new EmployeeCommonConfigure(this).configure();
		templateConfigure = new EmployeeTemplateConfigure(this).configure();
		recruitConfigure = new EmployeeRecruitConfigure(this).configure();
//		skillConfigure = new EmployeeSkillConfigure(this).configure();
		qualityLevelUpConfigure = new EmployeeQualityLevelUpConfigure(this).configure();
		starLevelUpConfigure = new EmployeeStarLevelUpConfigure(this).configure();
		rebornConfigure = new EmployeeRebornConfigure(this).configure();
		blessConfigure = new EmployeeBlessConfigure(this).configure();
	}
	
	@Override
	public EmployeeServiceConfigure configure() {
		return this;
	}
	
	@Override
	public <P extends Configure> P parent() {
		return null;
	}

	public EmployeeCommonConfigure getCommonConfigure() {
		return commonConfigure;
	}

	public EmployeeTemplateConfigure getTemplateConfigure() {
		return templateConfigure;
	}

	public EmployeeRecruitConfigure getRecruitConfigure() {
		return recruitConfigure;
	}

//	public EmployeeSkillConfigure getSkillConfigure() {
//		return skillConfigure;
//	}

	public EmployeeQualityLevelUpConfigure getQualityLevelUpConfigure() {
		return qualityLevelUpConfigure;
	}

	public EmployeeStarLevelUpConfigure getStarLevelUpConfigure() {
		return starLevelUpConfigure;
	}

	public EmployeeRebornConfigure getRebornConfigure() {
		return rebornConfigure;
	}

	public EmployeeBlessConfigure getBlessConfigure() {
		return blessConfigure;
	}	
}
